
#ifndef UART_SERVICE_H
#define UART_SERVICE_H
#include "cm_common.h" // 包含常用宏定义和类型
#include "com_sys_tool.h"     // 系统工具类
#include "ring_buffer.h"


// 串口上下文结构体
typedef struct
{
    cm_uart_dev_e uart;             // 串口号
    uint32_t baudrate;              // 波特率
    uint8_t *rx_buf;                // 接收缓冲区
    osSemaphoreId_t sem;            // 数据到达信号量
    osThreadId_t rx_thread;         // 数据接收线程
    osMessageQueueId_t event_queue; // 异常事件队列
    osThreadId_t event_thread;      // 异常事件线程
} uart_ctx_t;
// 串口实例列表
uart_ctx_t uart_list[2];
//串口初始化
void uart_ctx_init(uart_ctx_t *ctx, cm_uart_dev_e uart, uint32_t baud);

#endif //UART_SERVICE_H
